Modern enterprises are investing significant resources to preserve and provide access to data. Data protection is a growing concern for businesses of all sizes. Users are looking for a solution that will help to verify that critical data elements are protected, and storage configuration can enable data integrity and provide a reliable and safe switch to redundant computing resources in case of an unexpected disaster or service disruption.
To accomplish this, storage systems may be designed as fault tolerant systems spreading data redundantly across a set of storage-nodes and enabling continuous operation when a hardware failure occurs. Fault tolerant data storage systems may store data across a plurality of disk drives and may include duplicate data, parity or other information that may be employed to reconstruct data if a drive fails.
There has been known a technology of setting a plurality of accessible paths between a storage system and a host and/or within the storage system. Multiple paths can enable balancing I/O requests among the plurality of paths. Providing alternate path can also enable availability of data and/or storage resources, wherein if a failure occurs in one path, access is allocated to an alternating path, thereby allowing the operation to continue.
The problems of multi-path storage systems have been recognized in the Contemporary Art and various systems have been developed to provide a solution, for example:
US Patent Application No. 2005/228943 (DeCenzo et al.) entitled “Multipath redundant storage system architecture and method” discloses a storage system and method that provides multi-path bus and component interconnection and isolation in a data storage system. A plurality of data storage devices in a removable assembly are connected to a fabric that is configurable to connect some or all of the data storage devices to a disc controller and configurable to isolate one or more data storage devices from the disc controller. Multiple controllers, fabrics, and interconnecting buses may be employed to provide redundancy in the event of a connector, bus, or controller failure. Computer program code operating in a host, interface controller, and/or disc controller configures the fabric to isolate failed devices and may be employed to optimize data transfer rates. Data storage devices may be multi-ported. The fabric may comprise any device or devices capable of configurably interconnecting data storage devices to one or more controllers and may comprise multiplexers, cross point switches, port bypass controllers. Fabrics may also provide translation or conversion of one bus or interface format to another format.
US Patent Application No. 2007/297338 (Mou et al.) entitled “Verification of path selection protocol in a multi-path storage area network” discloses verification of path selection protocol for a storage area network. The verification comprises disabling a switch port on a switch of the primary path of a data storage device, initiating an input/output command to the device, and verifying that a failover occurred. The switch port for the primary path is enabled, an “immediate” input/output command is initiated to the device with the “immediate” bit set; and, in response to a notification by the device resulting from the “immediate” bit, a switch port is disabled on the switch of the primary path for the device; and the method verifies that a failover occurred.
US Patent Application 2008/301332 (Bulter et al.) entitled “Method for using host and storage controller port information to configure paths between a host and storage controller” discloses a method for using host and storage controller port information to configure paths between a host and storage controller. Information is gathered on ports on at least one host, ports on at least one storage controller managing access to storage volumes, and at least one fabric over which the at least one host and storage controller ports connect. For at least one host port and storage controller port, information is gathered on a connection metric related to a number of paths in which the port is configured and a traffic metric indicating Input/Output (I/O) traffic at the port. A determination is made of available ports for one host and storage controller that are available to provide paths between one host and storage controller. The connection and traffic metrics for the available host ports are processed to select at least one host port. The connection and traffic metrics for the available storage controller ports are processed to select at least one storage controller port. The at least one selected host and storage controller port pair are configured to provide at least one path enabling the host to communicate with the selected storage controller port to access at least one storage volume managed by the selected storage controller.